* buffer.c (Foverlay_start, Foverlay_end, Foverlay_buffer,
authorJim Blandy <jimb@redhat.com>
Fri, 14 May 1993 15:35:17 +0000 (15:35 +0000)
committerJim Blandy <jimb@redhat.com>
Fri, 14 May 1993 15:35:17 +0000 (15:35 +0000)
Foverlay_properties): Functions moved here from subr.el.

src/buffer.c

index 9e27460fb447ab5d56ff756fe50ef44d4de4409d..d56ddad7aca3ebc4da2f20add0467a16fb621714 100644 (file)
@@ -1590,6 +1590,51 @@ DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0,
 
   return Qnil;
 }
+\f
+/* Overlay dissection functions.  */
+
+DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0,
+  "Return the position at which OVERLAY starts.")
+     (overlay)
+     Lisp_Object overlay;
+{
+  CHECK_OVERLAY (overlay, 0);
+
+  return (Fmarker_position (OVERLAY_START (overlay)));
+}
+
+DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0,
+  "Return the position at which OVERLAY ends.")
+     (overlay)
+     Lisp_Object overlay;
+{
+  CHECK_OVERLAY (overlay, 0);
+
+  return (Fmarker_position (OVERLAY_END (overlay)));
+}
+
+DEFUN ("overlay-buffer", Foverlay_buffer, Soverlay_buffer, 1, 1, 0,
+  "Return the buffer OVERLAY belongs to.")
+     (overlay)
+       Lisp_Object overlay;
+{
+  CHECK_OVERLAY (overlay, 0);
+
+  return Fmarker_buffer (OVERLAY_START (overlay));
+}
+
+DEFUN ("overlay-properties", Foverlay_properties, Soverlay_properties, 1, 1, 0,
+  "Return a list of the properties on OVERLAY.\n\
+This is a copy of OVERLAY's plist; modifying its conses has no effect on\n\
+OVERLAY.")
+  (overlay)
+    Lisp_Object overlay;
+{
+  CHECK_OVERLAY (overlay, 0);
+
+  return Fcopy_sequence (Fcdr_safe (XCONS (overlay)->cdr));
+}
+
 \f
 DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0,
   "Return a list of the overays that contain position POS.")
@@ -2246,6 +2291,10 @@ Automatically local in all buffers.");
   defsubr (&Smake_overlay);
   defsubr (&Sdelete_overlay);
   defsubr (&Smove_overlay);
+  defsubr (&Soverlay_start);
+  defsubr (&Soverlay_end);
+  defsubr (&Soverlay_buffer);
+  defsubr (&Soverlay_properties);
   defsubr (&Soverlays_at);
   defsubr (&Snext_overlay_change);
   defsubr (&Soverlay_recenter);